package com.ruoyi.course.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.course.domain.LwControls;
import com.ruoyi.course.domain.LwCourse;
import com.ruoyi.course.domain.LwDetection;
import com.ruoyi.warehouse.domain.LwWarehousinginfo;

/**
 * 生产过程管理Service接口
 * 
 * @author sll
 * @date 2023-08-18
 */
public interface ILwCourseService 
{
    /**
     * 查询生产过程管理
     * 
     * @param id 生产过程管理主键
     * @return 生产过程管理
     */
    public LwCourse selectLwCourseById(Long id);

    /**
     * 查询生产过程管理列表
     * 
     * @param lwCourse 生产过程管理
     * @return 生产过程管理集合
     */
    public List<LwCourse> selectLwCourseList(LwCourse lwCourse);

    /**
     * 新增生产过程管理
     * 
     * @param lwCourse 生产过程管理
     * @return 结果
     */
    public AjaxResult insertLwCourse(LwCourse lwCourse);

    /**
     * 修改生产过程管理
     * 
     * @param lwCourse 生产过程管理
     * @return 结果
     */
    public int updateLwCourse(LwCourse lwCourse);

    /**
     * 批量删除生产过程管理
     * 
     * @param ids 需要删除的生产过程管理主键集合
     * @return 结果
     */
    public int deleteLwCourseByIds(Long[] ids);

    /**
     * 删除生产过程管理信息
     * 
     * @param id 生产过程管理主键
     * @return 结果
     */
    public int deleteLwCourseById(Long id);

    int insertLwControls(LwControls lwControls);

    List<LwControls> getControls(Long courseId, String flow);

    int insertLwDetection(LwDetection lwDetection);

    List<LwDetection> getDetection(Long courseId, Long status);

    boolean getIsInStock(Long id);

    List<LwWarehousinginfo> getWarehousinginfo(Long courseId, String flow);

    int delDialogue(Long id);
}
